package edu.nf.vac.vaccination.dao;

import edu.nf.vac.vaccination.entity.NeedleNum;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @Author : PYY
 * @create 2022/3/30
 */
public interface NeedleNumDao {
    /**
     * 添加针次
     * @param needleNum
     */
    void saveNeeldNum(NeedleNum needleNum);

    /**
     * 检查当前日期的针次是否存在
     * @param needleNum
     * @return
     */
    Integer checkNeedleNum(NeedleNum needleNum);

    /**
     * 更新针次的疫苗总数
     * @param needleNum
     */
    void updateVaccine(NeedleNum needleNum);

    /**
     * 根据日期修改针次状态
     * @param date
     */
    void updateVaccineStatus(Date date);

    /**
     * 疫苗总量减一
     * @param needleNumId
     */
    void decrTotal(Integer needleNumId);

    /**
     * 查询针次列表
     * @param needleNum
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<NeedleNum> listNeedleNum(@Param("needleNum") NeedleNum needleNum,
                                  @Param("pageNum") Integer pageNum,
                                  @Param("pageSize") Integer pageSize);

    /**
     * 依据不同条件查询针次信息（app端查询）
     * @param needleNum
     * @return
     */
    List<NeedleNum> searchNeedleNum(NeedleNum needleNum);
}
